package com.yzc.util;

import java.time.LocalDate;
import java.util.Set;
import java.util.HashSet;
import java.util.Arrays;

public class HolidaySet {

    private static final Set<LocalDate> HOLIDAYS;

    static {
        HOLIDAYS = new HashSet<>(Arrays.asList(
            LocalDate.of(2023, 1, 1), // 元旦
            LocalDate.of(2023, 1, 22), // 春节（初一）
            LocalDate.of(2023, 1, 23), // 春节（初二）
            LocalDate.of(2023, 1, 24), // 春节（初三）
            LocalDate.of(2023, 1, 25), // 春节（初四）
            LocalDate.of(2023, 1, 26), // 春节（初五）
            LocalDate.of(2023, 1, 27), // 春节（初六）
            LocalDate.of(2023, 4, 5), // 清明节
            LocalDate.of(2023, 5, 1), // 劳动节
            LocalDate.of(2023, 6, 22), // 端午节
            LocalDate.of(2023, 9, 29), // 中秋节
            LocalDate.of(2023, 10, 1), // 国庆节（第一天）
            LocalDate.of(2023, 10, 2), // 国庆节（第二天）
            LocalDate.of(2023, 10, 3), // 国庆节（第三天）
            LocalDate.of(2023, 10, 4), // 国庆节（第四天）
            LocalDate.of(2023, 10, 5), // 国庆节（第五天）
            LocalDate.of(2023, 10, 6), // 国庆节（第六天）
            LocalDate.of(2023, 10, 7)  // 国庆节（第七天）
            // ... 可以根据需要继续添加其他假期
        ));
    }

    public static Set<LocalDate> getHolidays() {
        return HOLIDAYS;
    }

    public static boolean isHoliday(LocalDate date) {
        return HOLIDAYS.contains(date);
    }
}